package tier2;

import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Random;

import shared.*;

public class ServiceJeuImpl extends Thread implements ServiceJeu{

    private ArrayList<Partie> _parties = new ArrayList<Partie>();
    private ArrayList<Joueur> _joueurs = new ArrayList<Joueur>();
    
    public void run(){
		boolean fin = false;
		while(!fin){
			Random r = new Random();
			long Randval = 0 + r.nextInt(7000 - 0);	
			long timeout = 3000+ Randval;
			try {
				sleep(timeout);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
	}

    public ArrayList<Partie> getParties() throws RemoteException{ 
    	return _parties; 
    }
    
    public ArrayList<Joueur> getJoueurs() throws RemoteException{ 
    	return _joueurs; 
    }
   
    /*
     * les fonctions en TODO ne sont pas sp�cifi�es ailleurs pour l'instant
     * (ORB_PartyManager/ORB_PartyManager.idl, RMI_PartyManager/PartyManager.java, PartyManagerImpl.IIOP, PartyManagerImpl.RMI)
     */
   
    //methode creerPartie
    public void createParty() throws RemoteException{ 
    	
    }
   
    //top joueurs + position du player
    public ArrayList<Joueur> getClassement(Joueur joueur) throws RemoteException{ 
    	return null; 
    }
   
    //scores des joueurs
    public ArrayList<Partie> getScores(Joueur joueur) throws RemoteException{ 
    	return null; 
    }
   
    //authenfication du joueur
    public boolean login(Joueur joueur) throws RemoteException{ 
    	return false; 
    }
   
    //deconnection du joueur
    public void logout(Joueur joueur) throws RemoteException{ 
    	
    }
   
    //nouveau compte
    public boolean creerCompte(Joueur nom) throws RemoteException{ 
    	boolean compte = false;
		if (!_joueurs.contains(nom)) {
			_joueurs.add(nom);
			compte = true;
		}
		return compte;
    }

	@Override
	public void connexion(Joueur user) throws RemoteException{
		// TODO Auto-generated method stub
		System.out.println("Méthode connexion");
	}

	@Override
	public String exemple() throws RemoteException {
		// TODO Auto-generated method stub
		return null;
	}
   
    
}
